/**
 * @param {number} n
 * @return {number[]}
 */
 var grayCode = function(n) {
  let arr = []
  for(let i=0;i<1<<n;i++){
    arr.push(i^i>>1)
  }
  return arr
};

// let n = 3
// let dp = [0]
// for(let i=1;i<Math.pow(2,3);){
//   dp[i]=

// }